package cn.getech.data.development.api;

import cn.getech.data.development.dto.JobNodeInfoDto;
import cn.getech.data.development.dto.SysParamsDto;
import cn.getech.data.development.dto.SysParamsFileDto;
import cn.getech.data.development.entity.JobNodeInfo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Set;

/**
 * @ClassName JobNodeInfoApi
 * @Description TODO
 * @Author Getech
 * @Date 2020/12/23 10:46
 */

public interface JobNodeInfoApi {

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/cheackIsDrop",method = RequestMethod.GET)
    void cheackIsDrop(@RequestParam("jobNodeId") Integer jobNodeId);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/selectListByIds",method = RequestMethod.GET)
    List<JobNodeInfoDto> selectListByIds(@RequestParam("jobIds") Set<Integer> jobIds);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/getById",method = RequestMethod.GET)
    JobNodeInfo getById(@RequestParam("jobNodeId") Integer jobNodeId);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/listRunSysparams",method = RequestMethod.POST)
    String listRunSysparams(@RequestBody SysParamsDto sysParamsDto);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/runShellNodes",method = RequestMethod.GET)
    String runShellNodes(@RequestParam("jobNodeId")String jobNodeId);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/listRunFileSysparams",method = RequestMethod.POST)
    String listRunFileSysparams(@RequestBody SysParamsFileDto sysParamsFileDto);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/concurrentNum",method = RequestMethod.GET)
    Long concurrentNum(@RequestParam("jobNodeId")String jobNodeId);

    @RequestMapping(value = "/api/dataBdp/jobNodeInfo/filePaths",method = RequestMethod.GET)
    List<String> filePaths(@RequestParam("jobNodeId")String jobNodeId);
}
